_discoveryData->findAndCancelDeletedJob(originalPath);
postProcessRename(path);
+ if (item->isDirectory() && serverEntry.isValid() && dbEntry.isValid() && serverEntry.etag == dbEntry._etag && serverEntry.remotePerm != dbEntry._remotePerm) {
+ _queryServer = ParentNotChanged;
+ }
processFileFinalize(item, path, item->isDirectory(), item->_instruction == CSYNC_INSTRUCTION_RENAME ? NormalQuery : ParentDontExist, _queryServer);
});
job->start();
item->isPermissionsInvalid = localEntry.isPermissionsInvalid;
auto recurseQueryLocal = _queryLocal == ParentNotChanged ? ParentNotChanged : localEntry.isDirectory || item->_instruction == CSYNC_INSTRUCTION_RENAME ? NormalQuery : ParentDontExist;
+ if (item->isDirectory() && serverEntry.isValid() && dbEntry.isValid() && serverEntry.etag == dbEntry._etag && serverEntry.remotePerm != dbEntry._remotePerm) {
+ recurseQueryServer = ParentNotChanged;
+ }
processFileFinalize(item, path, recurse, recurseQueryLocal, recurseQueryServer);
};
processRename(path);
recurseQueryServer = etag.get() == base._etag ? ParentNotChanged : NormalQuery;
}
+ if (item->isDirectory() && serverEntry.isValid() && dbEntry.isValid() && serverEntry.etag == dbEntry._etag && serverEntry.remotePerm != dbEntry._remotePerm) {
+ recurseQueryServer = ParentNotChanged;
+ }
processFileFinalize(item, path, item->isDirectory(), NormalQuery, recurseQueryServer);
_pendingAsyncJobs--;
QTimer::singleShot(0, _discoveryData, &DiscoveryPhase::scheduleMoreJobs);